package br.upe.portlet.estagio.service;

import com.liferay.portal.PortalException;
import com.liferay.portal.SystemException;
import com.liferay.portal.kernel.annotation.Propagation;
import com.liferay.portal.kernel.annotation.Transactional;


/**
 * <a href="CursoLocalService.java.html"><b><i>View Source</i></b></a>
 *
 * <p>
 * ServiceBuilder generated this class. Modifications in this class will be
 * overwritten the next time is generated.
 * </p>
 *
 * <p>
 * This interface defines the service. The default implementation is
 * <code>br.upe.portlet.estagio.service.impl.CursoLocalServiceImpl</code>.
 * Modify methods in that class and rerun ServiceBuilder to populate this class
 * and all other generated classes.
 * </p>
 *
 * <p>
 * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
 * </p>
 *
 * @author Brian Wing Shun Chan
 *
 * @see br.upe.portlet.estagio.service.CursoLocalServiceUtil
 *
 */
@Transactional(rollbackFor =  {
    PortalException.class, SystemException.class}
)
public interface CursoLocalService {
    public br.upe.portlet.estagio.model.Curso addCurso(
        br.upe.portlet.estagio.model.Curso curso)
        throws com.liferay.portal.SystemException;

    public br.upe.portlet.estagio.model.Curso createCurso(long codigo);

    public void deleteCurso(long codigo)
        throws com.liferay.portal.SystemException,
            com.liferay.portal.PortalException;

    public void deleteCurso(br.upe.portlet.estagio.model.Curso curso)
        throws com.liferay.portal.SystemException;

    public java.util.List<Object> dynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
        throws com.liferay.portal.SystemException;

    public java.util.List<Object> dynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
        int end) throws com.liferay.portal.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public br.upe.portlet.estagio.model.Curso getCurso(long codigo)
        throws com.liferay.portal.SystemException,
            com.liferay.portal.PortalException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<br.upe.portlet.estagio.model.Curso> getCursos(
        int start, int end) throws com.liferay.portal.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public int getCursosCount() throws com.liferay.portal.SystemException;

    public br.upe.portlet.estagio.model.Curso updateCurso(
        br.upe.portlet.estagio.model.Curso curso)
        throws com.liferay.portal.SystemException;

    public br.upe.portlet.estagio.model.Curso addCurso(java.lang.String nome,
        java.lang.String matriculaCoordenador, long userId, long companyId,
        java.util.Date createDate)
        throws com.liferay.portal.PortalException,
            com.liferay.portal.SystemException;

    public br.upe.portlet.estagio.model.Curso updateCurso(long codigo,
        java.lang.String nome, java.lang.String matriculaCoordenador,
        long userId, long companyId, java.util.Date createDate)
        throws com.liferay.portal.PortalException,
            com.liferay.portal.SystemException;

    public void updateCoordenador(long codigoCurso,
        java.lang.String matriculaCoordenador)
        throws com.liferay.portal.PortalException,
            com.liferay.portal.SystemException;
}
